For the purposes of this specification the term “electronic device” should be interpreted broadly to include any electronic device including, but not limited to, microprocessors (processors), chipsets, graphics processors, graphics accelerators, and other data processing devices. Electronic device frequency has increased approximately ten-fold over the last ten years. For example, in the mid-90's electronic devices operating at a frequency of 133 MHz were commonplace whereas today electronic devices are operated at over 1.6 GHz. This increase in electronic device frequency has led to a steep rise in power consumption due both to the high operating frequency as well as high power leakage associated with electronic devices that operate at these higher frequencies.
Consequently, lowering electronic device power consumption is an important consideration when designing modern electronic devices. Electronic devices that operate at lower power are advantageous in that they may operate for longer periods on battery power without having to re-charge the battery.
One technique for lowering the power consumption of an electronic device is to scale the electronic device's operating frequency and operating voltage dynamically based on power consumption and/or performance criteria. For example, if high performance is not required and an electronic device is operating on battery power then the electronic device may be dynamically scaled or switched to operate at a lower frequency in order to conserve power. When the electronic device is connected to a wall socket (AC source) the device may be scaled up to increase its operating frequency.
Lower power consumptions may be achieved by scaling an electronic device's operating voltage in addition to its operating frequency. However, scaling the operating voltage can introduce operating instability in the electronic device. In order to reduce this operating instability all computations for the period of the voltage change are typically stopped. This period can be over 130 μs to allow the voltage to swing from the minimum operating voltage to the maximum operating voltage, and to allow phase locked loop circuits that control the operating frequency of the electronic device to be reset or relocked. It will be appreciated that stopping all computations for such a long period leads to a degradation in the electronic device performance.
Further, during the voltage change memory traffic is typically halted for at least 130 μs since snoop services into the electronic device's caches during the voltage change or swing period are unavailable. This halting of the memory traffic affects isochronous traffic which, typically, cannot stand a delay of over 10–15 μs before data is lost or audio-visual artifacts are visible to a user. In some cases, the caches have to be flushed prior to the voltage swing. This adversely affects electronic device performance and limits cache size due to the flush time penalty.
As discussed above, achieving changes in the operating voltage in the electronic device can result in a total system performance penalty for each change, thereby effectively limiting the number of changes or switches per minute and thus preventing the power mode of the electronic device to track the current performance needs of the electronic device.